To enhance communication services with fault-tolerance, load-balancing, higher bandwidth, and cost-effective connectivity, multihoming configuration has been preferred in the networks. Two types of multihoming configurations are possible, host multihoming and site (or edge network) multihoming. In host multihoming, a host, i.e. an end-node, possesses two or more interfaces, each having connected with an access link. The host can use any of the links for a communication for the purpose of load-balancing and cost-effectiveness. Similarly, in site multihoming, a site or edge network is connected to one or more upper-level transit networks through two or more upstream links. Traffic from/to the multihomed site can pass through any upstream link for the purpose of resiliency, load-balancing, and increasing bandwidth.
The approaches to both host and site multihoming in the Internet have some limitations. Host multihoming cannot support fault-tolerance because the host cannot preserve an ongoing session from being disconnected when the link being used by the session goes down (or gets disconnected or fails). This problem is due to the reason that the IP address associated with the link has been used in two roles: as a session identifier (i.e., socket identifier) in the application and transport layers and as a locator in the network layer for locating the host and forwarding packets toward it (Non Patent Literature 1). When the host changes the link currently being used for the session to another link due to a trouble in the former link, both the session ID and locator become invalid at the same time and the session gets disconnected. Similarly, site multihoming has contributed negatively to the scaling of the Internet by increasing the routing table size of default-free zone (DFZ) BGP routers as it makes the routers to store multiple routes for the same site (Non Patent Literature 2). To overcome these limitations of host and site multihoming, some solutions based the ID/locator split concepts have been proposed recently (Non Patent Literatures 3, 4 and 5).
ID/locator split-based solutions use distinct numbers for IDs and locators, where IDs are topologically-independent values and locators are topologically-dependent values. IDs are used in the application and transport layers to identify sockets, sessions or end hosts, while locators are used in the network layer to locate hosts in the network topology and forward packets in the routing system. The locator is associated with a link and would change when the host switches its links or changes the link's attachment point in the network.
In related literature, Shim6 (Non Patent Literature 3) allows a multihomed host to use one of the IP addresses as the upper-layer ID (ULID) in the application and transport layers, which remains unchanged even if the locator used for routing in the network layer changes. The communication session is preserved even when the host switches its links (or locators) due to a trouble in the currently used link. A shim layer inserted above the IP routing sublayer hides the locator change by dynamically mapping the fixed ULID to various locators when a trouble in the link occurs. Similarly, although Locator/ID Separation Protocol (LISP) (Non Patent Literature 4) uses the concept of ID/locator separation, it is not stating about the failure detection and recovery in multihoming. It rather focuses on reducing the default-free zone (DFZ) routing table's size and update frequency. While Shim6 and LISP focus on addressing the issues of multihoming and routing scalability, HIMALIS (Non Patent Literature 5) presents a common architectural framework for better support of multihoming and mobility in heterogeneous networks that can use different network layer protocols in edge networks.
While the previous patents (Patent Literature 2) specified the mobility mechanisms of the ID/locator split-based network, this invention specifies a fault-detection and recovery mechanism to detect a link failure and transfer the communication session to another lively link in the multihoming environment of the network. The mechanism can be implemented in user devices, called hosts, alone, in both hosts and gateways, or in hosts, gateways and edge routers together. That is, the mechanism enables the host, gateway, and edge router to detect a failure in the link directly connected to them using a link-layer trigger. The gateway or the edge router assists the host by providing information about a link failure in their surroundings so that the host can promptly reroute packets through other available links in such a way that the session would get as little disturbance as possible. To detect the failure of a link that is not directly connected to the hosts, gateways and edge routers, or the failure caused by a problem in gateways or network congestion, this invention specifies a mechanism based on continuously monitoring of packet sending and receiving instances in the host by using two timers (probe timer and keepalive timer). In case packets are not sent or received within a specified timeout, the mechanism starts a probe process to locate the failure, searches for alternate lively paths, and transfers the session to the best lively path.
JP 2008-312191 A, which claims a priority based on JP Application Serial No. 2007-131030, describes the method to form node names or hostnames and IDs, the protocol stack of ID/locator split network architecture, the ID/locator split-based communication initialization process, and ID/locator split supporting hierarchical network structure.